package com.finanzas.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

@Entity
@Table(name = "tt_concepto_pago")
@NamedQueries({ @NamedQuery(name = "consultarConceptosUnidad", query = "select p from PagoConcepto p  where  p.idUnidadh =:idUnidadh"), })
public class PagoConcepto implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "id_concepto_pago")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long idConcepto;

	@Column(name = "id_unidad_h")
	private Long idUnidadh;

	@Column(name = "concepto")
	private String concepto;

	@Column(name = "descripcion")
	private String descripcion;

	@Column(name = "fecha_alta")
	private Date fechAlta;

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "periodo_cobro")
	private Elemento periodo;

	@Column(name = "monto")
	private Double monto;

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "id_estatus")
	private Elemento estatus;

	public Long getIdConcepto() {
		return idConcepto;
	}

	public void setIdConcepto(Long idConcepto) {
		this.idConcepto = idConcepto;
	}

	public Long getIdUnidadh() {
		return idUnidadh;
	}

	public void setIdUnidadh(Long idUnidadh) {
		this.idUnidadh = idUnidadh;
	}

	public String getConcepto() {
		return concepto;
	}

	public void setConcepto(String concepto) {
		this.concepto = concepto;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public Date getFechAlta() {
		return fechAlta;
	}

	public void setFechAlta(Date fechAlta) {
		this.fechAlta = fechAlta;
	}

	public Elemento getPeriodo() {
		return periodo;
	}

	public void setPeriodo(Elemento periodo) {
		this.periodo = periodo;
	}

	public Double getMonto() {
		return monto;
	}

	public void setMonto(Double monto) {
		this.monto = monto;
	}

	public Elemento getEstatus() {
		return estatus;
	}

	public void setEstatus(Elemento estatus) {
		this.estatus = estatus;
	}

}
